package com.eventos;

import java.util.List;

import com.eventssmartphone.R;

import android.app.Activity;
import android.app.ProgressDialog;
import android.content.Intent;
import android.os.Bundle;
import android.view.View;
import android.widget.AdapterView;
import android.widget.AdapterView.OnItemClickListener;
import android.widget.ListView;
import android.widget.Toast;

import com.eventssmartphone.JSONReaderListener;
import org.json.JSONArray;

public class ActivityVerPuntosVenta extends Activity implements OnItemClickListener, JSONReaderListener {
	
	ProgressDialog myProgressDialog = null;
	ListView lista;
	int idEvento;
	
	@Override
	protected void onCreate(Bundle savedInstanceState) {
		super.onCreate(savedInstanceState);
		// TODO Put your code here
		setContentView(R.layout.ev_verpuntosventa);
		
		Bundle b = getIntent().getExtras();
		
		idEvento = b.getInt("Evento");
		
		lista = (ListView) findViewById(R.id.listaPuntos);
		try{
			GestorPuntosVenta.getInstance().damePuntosEvento(idEvento,this);
		}catch(Exception e1){
			Toast.makeText(this, "Error. Revise su conexión a Internet.", Toast.LENGTH_SHORT).show();
		}		
	}

	@Override
	public void onConnected() {
		// TODO Auto-generated method stub
		myProgressDialog = ProgressDialog.show(this, "Cargando...", "Por favor esperar...", true);
	}

	@Override
	public void onSent() {
		// TODO Auto-generated method stub
		myProgressDialog.setMessage("Procesando datos...");
	}

	@Override
	public void onFinished(JSONArray jArray) {
		// TODO Auto-generated method stub
		try{
			List<PuntosVentaBean> listaPuntos = GestorPuntosVenta.getInstance().procesarDamePuntosEvento(jArray, idEvento);
			PuntosVentaAdapter adapter = new PuntosVentaAdapter(listaPuntos, this);
			lista.setAdapter(adapter);
			lista.setOnItemClickListener(this);
			if (listaPuntos.size()==0)
	        	Toast.makeText(this, "No se encontraron puntos de venta para el evento.", Toast.LENGTH_SHORT).show();
		}catch(Exception e){
			Toast.makeText(this, "Error. Revise su conexión a Internet.", Toast.LENGTH_SHORT).show();
		}  
		myProgressDialog.dismiss();
	}

	@Override
	public void onItemClick(AdapterView<?> adapter, View view, int position, long id) {
		// TODO Auto-generated method stub
		PuntosVentaBean pv = (PuntosVentaBean)adapter.getItemAtPosition(position);
		Intent intent = new Intent(ActivityVerPuntosVenta.this, com.clientes.ActivityVerMapa.class);
		Bundle b = new Bundle();
		b.putString("nombre", pv.getDescripcion());
		b.putString("direccion", pv.getUbicacion());
		b.putDouble("x", pv.getLatitude());
		b.putDouble("y", pv.getLongitude());
		intent.putExtras(b); 
		startActivity(intent);
	}
}
